package com.magenta.maxoptra.geocoding.geoinformsputnik;

import com4j.*;

/**
 * Dispatch interface for GeoTransform Object
 */
@IID("{21FAE7EB-7095-4517-91D6-ED2F9631024E}")
public interface IGeoTransform extends Com4jObject {
    // Methods:

    /**
     * @param xmlFile Mandatory java.lang.String parameter.
     * @return Returns a value of type boolean
     */

    @DISPID(1) //= 0x1. The runtime will prefer the VTID if present
    @VTID(7)
    boolean initByXmlFile(
            String xmlFile);


    /**
     * @param xmlString Mandatory java.lang.String parameter.
     * @return Returns a value of type boolean
     */

    @DISPID(2) //= 0x2. The runtime will prefer the VTID if present
    @VTID(8)
    boolean initByXmlString(
            String xmlString);


    /**
     * @param showOutFile   Mandatory boolean parameter.
     * @param targetSysMask Mandatory int parameter.
     * @return Returns a value of type boolean
     */

    @DISPID(5) //= 0x5. The runtime will prefer the VTID if present
    @VTID(9)
    boolean showSelectSysForm(
            boolean showOutFile,
            int targetSysMask);


    /**
     * @param ingeoApp     Mandatory com4j.Com4jObject parameter.
     * @param onePointOnly Mandatory boolean parameter.
     * @param objCount     Mandatory java.lang.Object parameter.
     * @param pointCount   Mandatory java.lang.Object parameter.
     * @return Returns a value of type boolean
     */

    @DISPID(6) //= 0x6. The runtime will prefer the VTID if present
    @VTID(10)
    boolean transformIngeoSelectedObjectsToFile(
            @MarshalAs(NativeType.Dispatch) com4j.Com4jObject ingeoApp,
            boolean onePointOnly,
            Object objCount,
            Object pointCount);


    /**
     * @param src_X Mandatory double parameter.
     * @param src_Y Mandatory double parameter.
     * @param src_Z Mandatory double parameter.
     * @param dst_X Mandatory Holder<Double> parameter.
     * @param dst_Y Mandatory Holder<Double> parameter.
     * @param dst_Z Mandatory Holder<Double> parameter.
     * @return Returns a value of type boolean
     */

    @DISPID(7) //= 0x7. The runtime will prefer the VTID if present
    @VTID(11)
    boolean transformOnePoint(
            double src_X,
            double src_Y,
            double src_Z,
            Holder<Double> dst_X,
            Holder<Double> dst_Y,
            Holder<Double> dst_Z);


    /**
     * <p>
     * Getter method for the COM property "SourceSys"
     * </p>
     *
     * @return Returns a value of type java.lang.String
     */

    @DISPID(11) //= 0xb. The runtime will prefer the VTID if present
    @VTID(12)
    String sourceSys();


    /**
     * <p>
     * Setter method for the COM property "SourceSys"
     * </p>
     *
     * @param value Mandatory java.lang.String parameter.
     */

    @DISPID(11) //= 0xb. The runtime will prefer the VTID if present
    @VTID(13)
    void sourceSys(
            String value);


    /**
     * <p>
     * Getter method for the COM property "DestSys"
     * </p>
     *
     * @return Returns a value of type java.lang.String
     */

    @DISPID(12) //= 0xc. The runtime will prefer the VTID if present
    @VTID(14)
    String destSys();


    /**
     * <p>
     * Setter method for the COM property "DestSys"
     * </p>
     *
     * @param value Mandatory java.lang.String parameter.
     */

    @DISPID(12) //= 0xc. The runtime will prefer the VTID if present
    @VTID(15)
    void destSys(
            String value);


    /**
     * <p>
     * Getter method for the COM property "OutFile"
     * </p>
     *
     * @return Returns a value of type java.lang.String
     */

    @DISPID(13) //= 0xd. The runtime will prefer the VTID if present
    @VTID(16)
    String outFile();


    /**
     * <p>
     * Setter method for the COM property "OutFile"
     * </p>
     *
     * @param value Mandatory java.lang.String parameter.
     */

    @DISPID(13) //= 0xd. The runtime will prefer the VTID if present
    @VTID(17)
    void outFile(
            String value);


    /**
     * <p>
     * Getter method for the COM property "LastError"
     * </p>
     *
     * @return Returns a value of type java.lang.String
     */

    @DISPID(14) //= 0xe. The runtime will prefer the VTID if present
    @VTID(18)
    String lastError();


    /**
     * <p>
     * Getter method for the COM property "LastMessage"
     * </p>
     *
     * @return Returns a value of type java.lang.String
     */

    @DISPID(15) //= 0xf. The runtime will prefer the VTID if present
    @VTID(19)
    String lastMessage();


    /**
     * <p>
     * Getter method for the COM property "ModuleDir"
     * </p>
     *
     * @return Returns a value of type java.lang.String
     */

    @DISPID(3) //= 0x3. The runtime will prefer the VTID if present
    @VTID(20)
    String moduleDir();


    /**
     * <p>
     * Getter method for the COM property "SourceSysCaption"
     * </p>
     *
     * @return Returns a value of type java.lang.String
     */

    @DISPID(4) //= 0x4. The runtime will prefer the VTID if present
    @VTID(21)
    String sourceSysCaption();


    /**
     * <p>
     * Getter method for the COM property "DestSysCaption"
     * </p>
     *
     * @return Returns a value of type java.lang.String
     */

    @DISPID(8) //= 0x8. The runtime will prefer the VTID if present
    @VTID(22)
    String destSysCaption();


    /**
     * <p>
     * Getter method for the COM property "SourceCoordOrder"
     * </p>
     *
     * @return Returns a value of type com.magenta.rosinkas.common.gis.geosamara.TCoordOrder
     */

    @DISPID(9) //= 0x9. The runtime will prefer the VTID if present
    @VTID(23)
    TCoordOrder sourceCoordOrder();


    /**
     * <p>
     * Setter method for the COM property "SourceCoordOrder"
     * </p>
     *
     * @param value Mandatory com.magenta.rosinkas.common.gis.geosamara.TCoordOrder parameter.
     */

    @DISPID(9) //= 0x9. The runtime will prefer the VTID if present
    @VTID(24)
    void sourceCoordOrder(TCoordOrder value);


    /**
     * <p>
     * Getter method for the COM property "DestCoordOrder"
     * </p>
     *
     * @return Returns a value of type com.magenta.rosinkas.common.gis.geosamara.TCoordOrder
     */

    @DISPID(10) //= 0xa. The runtime will prefer the VTID if present
    @VTID(25)
    TCoordOrder destCoordOrder();


    /**
     * <p>
     * Setter method for the COM property "DestCoordOrder"
     * </p>
     *
     * @param value Mandatory com.magenta.rosinkas.common.gis.geosamara.TCoordOrder parameter.
     */

    @DISPID(10) //= 0xa. The runtime will prefer the VTID if present
    @VTID(26)
    void destCoordOrder(TCoordOrder value);


    /**
     * <p>
     * Getter method for the COM property "SourceType"
     * </p>
     *
     * @return Returns a value of type com.magenta.rosinkas.common.gis.geosamara.TCoordType
     */

    @DISPID(16) //= 0x10. The runtime will prefer the VTID if present
    @VTID(27)
    TCoordType sourceType();


    /**
     * <p>
     * Getter method for the COM property "DestType"
     * </p>
     *
     * @return Returns a value of type com.magenta.rosinkas.common.gis.geosamara.TCoordType
     */

    @DISPID(17) //= 0x11. The runtime will prefer the VTID if present
    @VTID(28)
    TCoordType destType();


    /**
     * @param src_X Mandatory double parameter.
     * @param src_Y Mandatory double parameter.
     * @param src_Z Mandatory double parameter.
     * @param dst_X Mandatory java.lang.Object parameter.
     * @param dst_Y Mandatory java.lang.Object parameter.
     * @param dst_Z Mandatory java.lang.Object parameter.
     * @return Returns a value of type boolean
     */

    @DISPID(201) //= 0xc9. The runtime will prefer the VTID if present
    @VTID(29)
    boolean sTransformOnePoint(
            double src_X,
            double src_Y,
            double src_Z,
            Object dst_X,
            Object dst_Y,
            Object dst_Z);


    /**
     * <p>
     * ��� rootDataElem ����������� SelectNodes(coordElem_XPath), � ������ ��������� coordElem ������ ���������� � ������� ����� XPath-��������, ����������� ������������� ��������������, ��������� ������������ � coordElem � �������� x_tr, y_tr, z_tr (z ���������� �������������)
     * </p>
     *
     * @param rootDataElem    Mandatory com4j.Com4jObject parameter.
     * @param coordElem_XPath Mandatory java.lang.String parameter.
     * @param x_XPath         Mandatory java.lang.String parameter.
     * @param y_XPath         Mandatory java.lang.String parameter.
     * @param z_XPath         Mandatory java.lang.String parameter.
     * @return Returns a value of type boolean
     */

    @DISPID(202) //= 0xca. The runtime will prefer the VTID if present
    @VTID(30)
    boolean transformInXML(
            @MarshalAs(NativeType.Dispatch) com4j.Com4jObject rootDataElem,
            String coordElem_XPath,
            String x_XPath,
            String y_XPath,
            String z_XPath);


    /**
     * <p>
     * str [ g�m's.s" ] to double [ g.g ]
     * </p>
     *
     * @param strGMS Mandatory java.lang.String parameter.
     * @return Returns a value of type double
     */

    @DISPID(203) //= 0xcb. The runtime will prefer the VTID if present
    @VTID(31)
    double gradMinSecToGrad(
            String strGMS);


    /**
     * <p>
     * double [ g.g ] to str [ g�m's.s" ]
     * </p>
     *
     * @param angleInDegrees Mandatory double parameter.
     * @param delimSpaces    Mandatory boolean parameter.
     * @return Returns a value of type java.lang.String
     */

    @DISPID(204) //= 0xcc. The runtime will prefer the VTID if present
    @VTID(32)
    String gradToGradMinSec(
            double angleInDegrees,
            boolean delimSpaces);


    /**
     * <p>
     * ��� rootDataElem ����������� SelectNodes(coordElem_XPath), � ������ ��������� coordElem ������ ���������� � ������� ����� XPath-��������, ����������� ������������� ��������������, ��������� ������������ � coordElem � �������� x_tr, y_tr, z_tr (z ���������� �������������), ��� ������� ��������� �������� ���������� '�� �����'
     * </p>
     *
     * @param rootDataElem    Mandatory com4j.Com4jObject parameter.
     * @param coordElem_XPath Mandatory java.lang.String parameter.
     * @param x_XPath         Mandatory java.lang.String parameter.
     * @param y_XPath         Mandatory java.lang.String parameter.
     * @param z_XPath         Mandatory java.lang.String parameter.
     * @param overwriteCoords Mandatory boolean parameter.
     * @param extraParams     Mandatory java.lang.String parameter.
     * @return Returns a value of type boolean
     */

    @DISPID(205) //= 0xcd. The runtime will prefer the VTID if present
    @VTID(33)
    boolean transformInXMLEx(
            @MarshalAs(NativeType.Dispatch) com4j.Com4jObject rootDataElem,
            String coordElem_XPath,
            String x_XPath,
            String y_XPath,
            String z_XPath,
            boolean overwriteCoords,
            String extraParams);


    // Properties:
}
